#include<iostream>
#include<string>
#include<vector>
using namespace std;

// 好数
//#include <iostream>
//
//bool isGoodNumber(int num) 
//{
//    int digit;
//    int position = 1;
//    while (num > 0) {
//        digit = num % 10;
//        if (position % 2 == 1) 
//        {  // 奇数位
//            if (digit % 2 == 0) 
//            {  // 奇数位应该是奇数，此处为偶数，不是好数
//                return false;
//            }
//        }
//        else 
//        {  // 偶数位
//            if (digit % 2 == 1) 
//            {  // 偶数位应该是偶数，此处为奇数，不是好数
//                return false;
//            }
//        }
//        num /= 10;
//        position++;
//    }
//    return true;  // 如果所有位都符合好数的定义，那么这个数就是好数
//}
//
//int countGoodNumbers(int N) 
//{
//    int count = 0;
//    for (int i = 1; i <= N; i++) 
//    {
//        if (isGoodNumber(i)) 
//        {
//            count++;
//        }
//    }
//    return count;
//}
//
//int main() {
//    int N;
//    std::cout << "请输入一个整数 N: ";
//    std::cin >> N;
//    int result = countGoodNumbers(N);
//    std::cout << "从 1 到 " << N << " 中好数的个数为: " << result << std::endl;
//    return 0;
//}


int countSubsequences(string s) {
    int count = 0;
    for (int i = 0; i < s.size() - 3; i++) {
        if (s.substr(i, 4) == "2023") {
            count++;
        }
    }
    return count;
}

int main() {
    string s;
    for (int i = 1; i <= 2023; i++) {
        s += to_string(i);
    }
    int result = countSubsequences(s);
    cout << result << endl;
    return 0;
}

